# CMake 3.29 https://cmake.org/cmake/help/latest/index.html

#! Keywords			===========================================================
# https://cmake.org/cmake/help/latest/manual/cmake-language.7.html
if(NOT
	AND
	OR
	# Existence Checks
	COMMAND
	POLICY
	TARGET
	TEST
	DEFINED CACHE ENV
	IN_LIST
	# File Operations
	EXISTS
	IS_READABLE
	IS_WRITABLE
	IS_EXECUTABLE
	IS_NEWER_THAN
	IS_DIRECTORY
	IS_SYMLINK
	IS_ABSOLUTE
	# Comparisons
	MATCHES
	LESS
	GREATER
	EQUAL
	LESS_EQUAL
	GREATER_EQUAL
	STRLESS
	STRGREATER
	STREQUAL
	STRLESS_EQUAL
	STRGREATER_EQUAL
	# Version Comparisons
	VERSION_LESS
	VERSION_GREATER
	VERSION_EQUAL
	VERSION_LESS_EQUAL
	VERSION_GREATER_EQUAL
	# Path Comparisons
	PATH_EQUAL
)
elseif()
else()
endif()
foreach(RANGE
	IN LISTS ITEMS
	ZIP_LISTS)
endforeach()
while()
endwhile()
break()
continue()
macro()
endmacro()
function(ARGC ARGV)
endfunction()
return(PROPAGATE)
block(SCOPE_FOR POLICIES VARIABLES PROPAGATE)
endblock()

#! Commands			===========================================================
# cmake --help-command-list
# https://cmake.org/cmake/help/latest/manual/cmake-commands.7.html
# Scripting Commands
cmake_host_system_information(RESULT QUERY
	# Query Windows registry
	WINDOWS_REGISTRY
		VALUE_NAMES SUBKEYS VALUE
		VIEW HOST TARGET BOTH
		SEPARATOR
		ERROR_VARIABLE
)
cmake_language(CALL STATUS
	EVAL CODE
	DEFER
		DIRECTORY
		ID
		ID_VAR
			CALL
			GET_CALL_IDS
			GET_CALL
			CANCEL_CALL
	# Dependency Providers
	SET_DEPENDENCY_PROVIDER SUPPORTED_METHODS
		FIND_PACKAGE
		FETCHCONTENT_MAKEAVAILABLE_SERIAL
	# Getting current message log level
	GET_MESSAGE_LOG_LEVEL
)
cmake_minimum_required(VERSION FATAL_ERROR)
cmake_parse_arguments(PARSE_ARGV)
cmake_path(
	# Decomposition
	GET
		ROOT_NAME
		ROOT_DIRECTORY
		ROOT_PATH
		FILENAME
		EXTENSION LAST_ONLY
		STEM LAST_ONLY
		RELATIVE_PART
		PARENT_PATH
	# Query
	HAS_ROOT_NAME
	HAS_ROOT_DIRECTORY
	HAS_ROOT_PATH
	HAS_FILENAME
	HAS_EXTENSION
	HAS_STEM
	HAS_RELATIVE_PART
	HAS_PARENT_PATH
	IS_ABSOLUTE
	IS_RELATIVE
	IS_PREFIX
	COMPARE
	# Modification
	SET NORMALIZE
	APPEND OUTPUT_VARIABLE
	APPEND_STRING OUTPUT_VARIABLE
	REMOVE_FILENAME OUTPUT_VARIABLE
	REPLACE_FILENAME OUTPUT_VARIABLE
	REMOVE_EXTENSION LAST_ONLY OUTPUT_VARIABLE
	REPLACE_EXTENSION LAST_ONLY OUTPUT_VARIABLE
	# Generation
	NORMAL_PATH OUTPUT_VARIABLE
	RELATIVE_PATH BASE_DIRECTORY OUTPUT_VARIABLE
	ABSOLUTE_PATH BASE_DIRECTORY NORMALIZE OUTPUT_VARIABLE
	# Native Conversion
	NATIVE_PATH NORMALIZE
	CONVERT TO_CMAKE_PATH_LIST NORMALIZE
	CONVERT TO_NATIVE_PATH_LIST NORMALIZE
	# Hashing
	HASH
)
cmake_policy(VERSION
	SET NEW OLD
	GET
	PUSH
	POP)
configure_file(
	NO_SOURCE_PERMISSIONS USE_SOURCE_PERMISSIONS FILE_PERMISSIONS
	COPYONLY ESCAPE_QUOTES ONLY NEWLINE_STYLE
)
execute_process(COMMAND
	WORKING_DIRECTORY
	TIMEOUT
	RESULT_VARIABLE
	RESULTS_VARIABLE
	OUTPUT_VARIABLE
	ERROR_VARIABLE
	INPUT_FILE
	OUTPUT_FILE
	ERROR_FILE
	OUTPUT_QUIET
	ERROR_QUIET
	COMMAND_ECHO
	OUTPUT_STRIP_TRAILING_WHITESPACE
	ERROR_STRIP_TRAILING_WHITESPACE
	ENCODING
	ECHO_OUTPUT_VARIABLE
	ECHO_ERROR_VARIABLE
	COMMAND_ERROR_IS_FATAL ANY LAST
)
file(
	# Reading
	READ OFFSET LIMIT HEX
	STRINGS
		LENGTH_MAXIMUM
		LENGTH_MINIMUM
		LIMIT_COUNT
		LIMIT_INPUT
		LIMIT_OUTPUT
		NEWLINE_CONSUME
		NO_HEX_CONVERSION
		REGEX
		ENCODING
	HASH
	TIMESTAMP UTC
	GET_RUNTIME_DEPENDENCIES
	RESOLVED_DEPENDENCIES_VAR
	UNRESOLVED_DEPENDENCIES_VAR
	CONFLICTING_DEPENDENICES_PREFIX
	EXECUTABLES
	LIBRARIES
	MODULES
	DIRECTORIES
	BUNDLE_EXECUTABLE
	PRE_INCLUDE_REGEXES
	PRE_EXCLUDE_REGEXES
	POST_INCLUDE_REGEXES
	POST_EXCLUDE_REGEXES
	# Writing
	WRITE
	APPEND
	TOUCH
	TOUCH_NOCREATE
	GENERATE
		OUTPUT
		INPUT
		CONTENT
		CONDITION
		TARGET
		NO_SOURCE_PERMISSIONS USE_SOURCE_PERMISSIONS FILE_PERMISSIONS
		NEWLINE_STYLE
	CONFIGURE
		OUTPUT
		CONTENT
		ESCAPE_QUOTES ONLY
		NEWLINE_STYLE
	# Filesystem
	GLOB
		LIST_DIRECTORIES
		RELATIVE
		CONFIGURE_DEPENDS
	GLOB_RECURSE
		FOLLOW_SYMLINKS
		LIST_DIRECTORIES
		RELATIVE
		CONFIGURE_DEPENDS
	MAKE_DIRECTORY
	REMOVE
	REMOVE_RECURSE
	RENAME RESULT NO_REPLACE
	COPY_FILE RESULT ONLY_IF_DIFFERENT
	COPY INSTALL DESTINATION
		NO_SOURCE_PERMISSIONS USE_SOURCE_PERMISSIONS FILE_PERMISSIONS
		DIRECTORY_PERMISSIONS
		FOLLOW_SYMLINK_CHAIN
		FILES_MATCHING
		PATTERN REGEX
		EXCLUDE PERMISSIONS
	SIZE
	READ_SYMLINK
	CREATE_LINK
		RESULT
		COPY_ON_ERROR
		SYMBOLIC
	CHMOD
		PERMISSIONS FILE_PERMISSIONS DIRECTORY_PERMISSIONS
	CHMOD_RECURSE
	# Path Conversion
	REAL_PATH BASE_DIRECTORY EXPAND_TILDE
	RELATIVE_PATH
	TO_CMAKE_PATH
	TO_NATIVE_PATH
	# Transfer
	DOWNLOAD
		INACTIVITY_TIMEOUT
		LOG
		SHOW_PROGRESS
		STATUS
		TIMEOUT
		USERPWD
		HTTPHEADER
		NETRC
			IGNORED OPTIONAL REQUIRED
		NETRC_FILE
		TLS_VERIFY
		TLS_CAINFO
		EXPECTED_HASH ALGO
		EXPECTED_MD5
		RANGE_START
		RANGE_END
	UPLOAD
	# Locking
	LOCK DIRECTORY RELEASE
		GUARD FUNCTION FILE PROCESS
		RESULT_VARIABLE
		TIMEOUT
	# Archiving
	ARCHIVE_CREATE OUTPUT
		PATHS
		FORMAT
		COMPRESSION COMPRESSION_LEVEL
		MTIME
		VERBOSE
	ARCHIVE_EXTRACT INPUT
		DESTINATION
		PATTERNS
		LIST_ONLY
		VERBOSE
)
find_file()					# find_path()
find_library(NAMES_PER_DIR)	# find_path()
find_package(				# find_path()
	EXACT
	QUIET
	MODULE
	COMPONENTS
	OPTIONAL_COMPONENTS
	CONFIG NO_MODULE
	GLOBAL
	NO_POLICY_SCOPE
	BYPASS_PROVIDER
	CONFIGS
	NO_CMAKE_PACKAGE_REGISTRY
	NO_CMAKE_SYSTEM_PACKAGE_REGISTRY
)
find_path(
	NAMES
	HINTS ENV
	PATHS ENV
	REGISTRY_VIEW HOST TARGET BOTH
	VALIDATOR
	PATH_SUFFIXES
	DOC
	NO_CACHE
	REQUIRED
	NO_DEFAULT_PATH
	NO_PACKAGE_ROOT_PATH
	NO_CMAKE_PATH
	NO_CMAKE_ENVIRONMENT_PATH
	NO_SYSTEM_ENVIRONMENT_PATH
	NO_CMAKE_SYSTEM_PATH
	NO_CMAKE_INSTALL_PREFIX
	CMAKE_FIND_ROOT_PATH_BOTH
		ONLY_CMAKE_FIND_ROOT_PATH
		NO_CMAKE_FIND_ROOT_PATH
)
find_program(NAMES_PER_DIR)	# find_path()
get_cmake_property()
get_directory_property(DIRECTORY DEFINITION)
get_filename_component(CACHE
	DIRECTORY NAME EXT NAME_WE LAST_EXT NAME_WLE
	BASE_DIR ABSOLUTE REALPATH
	PROGRAM PROGRAM_ARGS)
get_property(GLOBAL
	DIRECTORY
	TARGET
	SOURCE
		DIRECTORY TARGET_DIRECTORY
	INSTALL
	TEST
	CACHE
	VARIABLE
	PROPERTY
	SET DEFINED BRIEF_DOCS FULL_DOCS)
include(OPTIONAL RESULT_VARIABLE NO_POLICY_SCOPE)
include_guard(DIRECTORY GLOBAL)
list(
	# Reading
	LENGTH
	GET
	JOIN
	SUBLIST
	# Search
	FIND
	# Modification
	APPEND
	FILTER INCLUDE EXCLUDE REGEX
	INSERT
	POP_BACK
	POP_FRONT
	PREPEND
	REMOVE_ITEM
	REMOVE_AT
	REMOVE_DUPLICATES
	TRANSFORM OUTPUT_VARIABLE
		TOUPPER TOLOWER STRIP GENEX_STRIP REPLACE
		AT FOR REGEX
	# Ordering
	REVERSE
	SORT
		COMPARE STRING FILE_BASENAME NATURAL
		CASE SENSITIVE INSENSITIVE
		ORDER ASCENDING DESCENDING
)
mark_as_advanced(CLEAR FORCE)
math(EXPR OUTPUT_FORMAT HEXADECIMAL DECIMAL)
message(FATAL_ERROR SEND_ERROR WARNING AUTHOR_WARNING DEPRECATION NOTICE STATUS VERBOSE DEBUG TRACE
	CHECK_START CHECK_PASS CHECK_FAIL
	CONFIGURE_LOG
)
option()
separate_arguments(UNIX_COMMAND WINDOWS_COMMAND NATIVE_COMMAND PROGRAM SEPARATE_ARGS)
set(PARENT_SCOPE CACHE ENV FORCE
	BOOL FILEPATH PATH STRING INTERNAL)
set_directory_properties(PROPERTIES)
set_property(GLOBAL
	DIRECTORY
	TARGET
	SOURCE
		DIRECTORY TARGET_DIRECTORY
	INSTALL
	TEST
	CACHE
	APPEND APPEND_STRING
	PROPERTY)
site_name()
string(
	# Search and Replace
	FIND REVERSE
	REPLACE
	# Search and Replace With Regular Expressions
	REGEX
		MATCH
		MATCHAL
		REPLACE
	# Manipulation
	APPEND
	PREPEND
	CONCAT
	JOIN
	TOLOWER
	TOUPPER
	LENGTH
	SUBSTRING
	STRIP
	GENEX_STRIP
	REPEAT
	# Comparison
	COMPARE
		LESS
		GREATER
		EQUAL
		NOTEQUAL
		LESS_EQUAL
		GREATER_EQUAL
	# Hashing
	MD5 SHA1 SHA224 SHA256 SHA384 SHA512 SHA3_224 SHA3_256 SHA3_384 SHA3_512
	# Generation
	ASCII
	HEX
	CONFIGURE ESCAPE_QUOTES
	MAKE_C_IDENTIFIER
	RANDOM LENGTH ALPHABET RANDOM_SEED
	TIMESTAMP UTC
	UUID NAMESPACE NAME TYPE MD5 SHA1 UPPER
	# JSON
	JSON
		ERROR_VARIABLE GET
		ERROR_VARIABLE TYPE
		ERROR_VARIABLE MEMBER
		ERROR_VARIABLE LENGTH
		ERROR_VARIABLE REMOVE
		ERROR_VARIABLE SET
		ERROR_VARIABLE EQUAL
)
unset(CACHE PARENT_SCOPE ENV)
variable_watch(READ_ACCESS UNKNOWN_READ_ACCESS MODIFIED_ACCESS UNKNOWN_MODIFIED_ACCESS REMOVED_ACCESS)

# Project Commands
add_compile_definitions()
add_compile_options()
add_custom_command(
	# Generating Files
	OUTPUT
	COMMAND ARGS
	MAIN_DEPENDENCY
	DEPENDS
	BYPRODUCTS
	IMPLICIT_DEPENDS
	WORKING_DIRECTORY
	COMMENT
	DEPFILE
	JOB_POOL
	JOB_SERVER_AWARE
	VERBATIM
	APPEND
	USES_TERMINAL
	COMMAND_EXPAND_LISTS
	# Build Events
	TARGET
	PRE_BUILD PRE_LINK POST_BUILD
	COMMAND ARGS
	BYPRODUCTS
	WORKING_DIRECTORY
	COMMENT
	VERBATIM
	USES_TERMINAL
	COMMAND_EXPAND_LISTS
	DEPENDS_EXPLICIT_ONLY
)
add_custom_target(ALL
	COMMAND
	DEPENDS
	BYPRODUCTS
	WORKING_DIRECTORY
	COMMENT
	JOB_POOL
	VERBATIM
	USES_TERMINAL
	COMMAND_EXPAND_LISTS
	SOURCES)
add_definitions()
add_dependencies()
add_executable(
	WIN32 MACOSX_BUNDLE EXCLUDE_FROM_ALL
	IMPORTED GLOBAL
	ALIAS)
add_library(
	# Normal Libraries
	STATIC SHARED MODULE
	EXCLUDE_FROM_ALL
	OBJECT
	INTERFACE
	# Imported Libraries
	IMPORTED GLOBAL
	ALIAS
)
add_link_options()
add_subdirectory(EXCLUDE_FROM_ALL SYSTEM)
add_test(NAME COMMAND
	CONFIGURATIONS
	WORKING_DIRECTORY
	COMMAND_EXPAND_LISTS)
aux_source_directory()
build_command(CONFIGURATION PARALLEL_LEVEL TARGET PROJECT_NAME)
cmake_file_api(QUERY API_VERSION CODEMODEL CACHE CMAKEFILES TOOLCHAINS)
create_test_sourcelist(EXTRA_INCLUDE FUNCTION)
define_property(GLOBAL
	DIRECTORY
	TARGET
	SOURCE
	TEST
	VARIABLE
	CACHED_VARIABLE
	PROPERTY INHERITED
	BRIEF_DOCS
	FULL_DOCS
	INITIALIZE_FROM_VARIABLE)
enable_language(OPTIONAL)
enable_testing()
export(
	# Exporting Targets
	TARGETS
		NAMESPACE
		APPEND FILE
		EXPORT_LINK_INTERFACE_LIBRARIES
		CXX_MODULES_DIRECTORY
	ANDROID_MK
	EXPORT
	PACKAGE
	# Configuring Exports
	SETUP
		PACKAGE_DEPENDENCY
			ENABLED
			EXTRA_ARGS
		TARGET
			XCFRAMEWORK_LOCATION
)
fltk_wrap_ui()
get_source_file_property(DIRECTORY TARGET_DIRECTORY)
get_target_property()
get_test_property()
include_directories(AFTER BEFORE SYSTEM)
include_external_msproject(TYPE GUID PLATFORM)
include_regular_expression()
install(
	# Installing Targets
	TARGETS
		EXPORT
		RUNTIME_DEPENDENCIES RUNTIME_DEPENDENCY_SET
		ARCHIVE LIBRARY RUNTIME OBJECTS FRAMEWORK BUNDLE PRIVATE_HEADER PUBLIC_HEADER RESOURCE FILE_SET CXX_MODULES_BMI
		DESTINATION
		PERMISSIONS
		CONFIGURATIONS
		COMPONENT
		NAMELINK_COMPONENT
		OPTIONAL
		EXCLUDE_FROM_ALL
		NAMELINK_ONLY NAMELINK_SKIP
		INCLUDES DESTINATION
	# Installing Imported Runtime Artifacts
	IMPORTED_RUNTIME_ARTIFACTS
	# Installing Files
	FILES PROGRAMS
		TYPE
		DESTINATION
		PERMISSIONS
		CONFIGURATIONS
		COMPONENT
		RENAME
		OPTIONAL
		EXCLUDE_FROM_ALL
	# Installing Directories
	DIRECTORY
		TYPE
		DESTINATION
		FILE_PERMISSIONS
		DIRECTORY_PERMISSIONS
		USE_SOURCE_PERMISSIONS
		OPTIONAL
		MESSAGE_NEVER
		CONFIGURATIONS
		COMPONENT
		EXCLUDE_FROM_ALL
		FILES_MATCHING
		PATTERN REGEX
		EXCLUDE
		PERMISSIONS
	# Custom Installation Logic
	SCRIPT CODE
		ALL_COMPONENTS
		COMPONENT
		EXCLUDE_FROM_ALL
	# Installing Exports
	EXPORT
		DESTINATION
		NAMESPACE
		FILE
		PERMISSIONS
		CONFIGURATIONS
		CXX_MODULES_DIRECTORY
		EXPORT_LINK_INTERFACE_LIBRARIES
		COMPONENT
		EXCLUDE_FROM_ALL
		EXPORT_PACKAGE_DEPENDENCIES
	EXPORT_ANDROID_MK DESTINATION
	# Installing Runtime Dependencies
	RUNTIME_DEPENDENCY_SET
		PRE_INCLUDE_REGEXES
		PRE_EXCLUDE_REGEXES
		POST_INCLUDE_REGEXES
		POST_EXCLUDE_REGEXES
		POST_INCLUDE_FILES
		POST_EXCLUDE_FILES
		DIRECTORIES
)
link_directories(AFTER BEFORE)
link_libraries()
load_cache(READ_WITH_PREFIX
	EXCLUDE INCLUDE_INTERNALS)
project(VERSION DESCRIPTION HOMEPAGE_URL LANGUAGES)
remove_definitions()
set_source_files_properties(DIRECTORY TARGET_DIRECTORY PROPERTIES)
set_target_properties(PROPERTIES)
set_tests_properties(PROPERTIES)
source_group(FILES REGULAR_EXPRESSION
	TREE PREFIX FILES)
target_compile_definitions(INTERFACE PUBLIC PRIVATE)
target_compile_features()
target_compile_options(BEFORE)
target_include_directories(SYSTEM AFTER BEFORE)
target_link_directories(BEFORE)
target_link_libraries(LINK_PRIVATE LINK_PUBLIC)
target_link_options(BEFORE)
target_precompile_headers(REUSE_FROM)
target_sources(FILE_SET TYPE BASE_DIRS FILES
	HEADERS
	CXX_MODULES
	CXX_MODULE_HEADER_UNITS
)
try_compile(
	# Try Compiling Whole Projects
	PROJECT
	SOURCE_DIR
	BINARY_DIR
	TARGET
	LOG_DESCRIPTION
	NO_CACHE NO_LOG
	CMAKE_FLAGS OUTPUT_VARIABLE
	# Try Compiling Source Files
	SOURCES SOURCE_FROM_CONTENT SOURCE_FROM_VAR SOURCE_FROM_FILE
	CMAKE_FLAGS
	COMPILE_DEFINITIONS
	LINK_OPTIONS
	LINK_LIBRARIES
	OUTPUT_VARIABLE
	COPY_FILE
	COPY_FILE_ERROR)
try_run(CMAKE_FLAGS
	COMPILE_DEFINITIONS
	LINK_OPTIONS
	LINK_LIBRARIES
	COMPILE_OUTPUT_VARIABLE
	RUN_OUTPUT_VARIABLE
	RUN_OUTPUT_STDOUT_VARIABLE
	RUN_OUTPUT_STDERR_VARIABLE
	OUTPUT_VARIABLE
	WORKING_DIRECTORY
	ARGS)

# CTest Commands
ctest_build(BUILD
	APPEND
	CONFIGURATION
	PARALLEL_LEVEL
	FLAGS
	PROJECT_NAME
	TARGET
	NUMBER_ERRORS
	NUMBER_WARNINGS
	RETURN_VALUE
	CAPTURE_CMAKE_ERROR
	QUIET)
ctest_configure(BUILD
	SOURCE
	APPEND
	OPTIONS
	RETURN_VALUE
	CAPTURE_CMAKE_ERROR
	QUIET)
ctest_coverage(BUILD
	APPEND
	LABELS
	RETURN_VALUE
	CAPTURE_CMAKE_ERROR
	QUIET)
ctest_empty_binary_directory()
ctest_memcheck(DEFECT_COUNT)	# ctest_test()
ctest_read_custom_files()
ctest_run_script(NEW_PROCESS RETURN_VALUE)
ctest_sleep()
ctest_start(GROUP APPEND QUIET)
ctest_submit(
	PARTS
	FILES
	CDASH_UPLOAD CDASH_UPLOAD_TYPE
	SUBMIT_URL
	BUILD_ID
	HTTPHEADER
	RETRY_COUNT
	RETRY_DELAY
	RETURN_VALUE
	CAPTURE_CMAKE_ERROR
	QUIET)
ctest_test(BUILD
	APPEND
	START
	END
	STRIDE
	EXCLUDE
	INCLUDE
	EXCLUDE_LABEL
	INCLUDE_LABEL
	EXCLUDE_FIXTURE
	EXCLUDE_FIXTURE_SETUP
	EXCLUDE_FIXTURE_CLEANUP
	PARALLEL_LEVEL
	RESOURCE_SPEC_FILE
	TEST_LOAD
	SCHEDULE_RANDOM
	STOP_ON_FAILURE
	STOP_TIME
	RETURN_VALUE
	CAPTURE_CMAKE_ERROR
	OUTPUT_JUNIT
	REPEAT
	QUIET)
ctest_update(SOURCE RETURN_VALUE CAPTURE_CMAKE_ERROR QUIET)
ctest_upload(FILES QUIET CAPTURE_CMAKE_ERROR)

# Deprecated Commands

#! Generator Expressions	===================================================
# https://cmake.org/cmake/help/latest/manual/cmake-generator-expressions.7.html
block()
# Conditional Expressions
$<IF:condition, true_string, false_string>
$<BOOL:string>

# Logical Operators
$<AND:conditions>
$<OR:conditions>
$<NOT:condition>

# Primary Comparison Expressions
# String Comparisons
$<STREQUAL:string1, string2>
$<EQUAL:value1, value2>
# Version Comparisons
$<VERSION_LESS:v1, v2>
$<VERSION_GREATER:v1, v2>
$<VERSION_EQUAL:v1, v2>
$<VERSION_LESS_EQUAL:v1, v2>
$<VERSION_GREATER_EQUAL:v1, v2>

# String Transformations
$<LOWER_CASE:string>
$<UPPER_CASE:string>
$<MAKE_C_IDENTIFIER:...>

# List Expressions
block()
# List Comparisons
$<IN_LIST:string, list>
# List Queries
$<LIST:LENGTH,list>
$<LIST:GET,list,index,...>
$<LIST:SUBLIST,list,begin,length>
$<LIST:FIND,list,value>
# List Transformations
$<LIST:JOIN,list,glue>
$<LIST:APPEND,list,item,...>
$<LIST:PREPEND,list,item,...>
$<LIST:INSERT,list,index,item,...>
$<LIST:POP_BACK,list>
$<LIST:POP_FRONT,list>
$<LIST:REMOVE_ITEM,list,value,...>
$<LIST:REMOVE_AT,list,index,...>
$<LIST:REMOVE_DUPLICATES,list>
$<LIST:FILTER,list,INCLUDE|EXCLUDE,regex>
$<LIST:TRANSFORM,list,action[,selector]>
$<JOIN:list,string>
$<REMOVE_DUPLICATES:list>
$<FILTER:list, INCLUDE | EXCLUDE, regex>
# List Ordering
$<LIST:REVERSE,list>
$<LIST:SORT,list[,(COMPARE:option|CASE:option|ORDER:option)]...>
endblock()

# Path Expressions
block()
# Path Comparisons
$<PATH_EQUAL:path1,path2>
# Path Queries
$<PATH:HAS_ROOT_NAME,path>
$<PATH:HAS_ROOT_DIRECTORY,path>
$<PATH:HAS_ROOT_PATH,path>
$<PATH:HAS_FILENAME,path>
$<PATH:HAS_EXTENSION,path>
$<PATH:HAS_STEM,path>
$<PATH:HAS_RELATIVE_PART,path>
$<PATH:HAS_PARENT_PATH,path>
$<PATH:IS_ABSOLUTE,path>
$<PATH:IS_RELATIVE,path>
$<PATH:IS_PREFIX[,NORMALIZE],path,input>
# Path Decomposition
$<PATH:GET_ROOT_NAME,path>
$<PATH:GET_ROOT_DIRECTORY,path>
$<PATH:GET_ROOT_PATH,path>
$<PATH:GET_FILENAME,path>
$<PATH:GET_EXTENSION[,LAST_ONLY],path>
$<PATH:GET_STEM[,LAST_ONLY],path>
$<PATH:GET_RELATIVE_PART,path>
$<PATH:GET_PARENT_PATH,path>
# Path Transformations
$<PATH:CMAKE_PATH[,NORMALIZE],path>
$<PATH:APPEND,path,input,...>
$<PATH:REMOVE_FILENAME,path>
$<PATH:REPLACE_FILENAME,path,input>
$<PATH:REMOVE_EXTENSION[,LAST_ONLY],path>
$<PATH:REPLACE_EXTENSION[,LAST_ONLY],path,input>
$<PATH:NORMAL_PATH,path>
$<PATH:RELATIVE_PATH,path,base_directory>
$<PATH:ABSOLUTE_PATH[,NORMALIZE],path,base_directory>
# Shell Paths
$<SHELL_PATH:...>
endblock()

# Configuration Expressions
$<CONFIG>
$<CONFIG:cfgs>
$<OUTPUT_CONFIG:...>
$<COMMAND_CONFIG:...>

# Toolchain And Language Expressions
block()
# Platform
$<PLATFORM_ID>
$<PLATFORM_ID:platform_ids>
# Compiler Version
$<C_COMPILER_VERSION>
$<C_COMPILER_VERSION:version>
$<CXX_COMPILER_VERSION>
$<CXX_COMPILER_VERSION:version>
$<CUDA_COMPILER_VERSION>
$<CUDA_COMPILER_VERSION:version>
$<OBJC_COMPILER_VERSION>
$<OBJC_COMPILER_VERSION:version>
$<OBJCXX_COMPILER_VERSION>
$<OBJCXX_COMPILER_VERSION:version>
$<Fortran_COMPILER_VERSION>
$<Fortran_COMPILER_VERSION:version>
$<HIP_COMPILER_VERSION>
$<HIP_COMPILER_VERSION:version>
$<ISPC_COMPILER_VERdSION>
$<ISPC_COMPILER_VERdSION:version>
# Compiler Language And ID
$<C_COMPILER_ID>
$<C_COMPILER_ID:compiler_ids>
$<CXX_COMPILER_ID>
$<CXX_COMPILER_ID:compiler_ids>
$<CUDA_COMPILER_ID>
$<CUDA_COMPILER_ID:compiler_ids>
$<OBJC_COMPILER_ID>
$<OBJC_COMPILER_ID:compiler_ids>
$<OBJCXX_COMPILER_ID>
$<OBJCXX_COMPILER_ID:compiler_ids>
$<Fortran_COMPILER_ID>
$<Fortran_COMPILER_ID:compiler_ids>
$<HIP_COMPILER_ID>
$<HIP_COMPILER_ID:compiler_ids>
$<ISPC_COMPILER_ID>
$<ISPC_COMPILER_ID:compiler_ids>
$<COMPILE_LANGUAGE>
$<COMPILE_LANGUAGE:languages>
$<COMPILE_LANG_AND_ID:language, compiler_ids>
# Compile Features
$<COMPILE_FEATURES:features>
# Compile Context
$<COMPILE_ONLY:...>
# Linker Language And ID
$<LINK_LANGUAGE>
$<LINK_LANGUAGE:languages>
$<LINK_LANG_AND_ID:language,compiler_ids>
# Link Features
$<LINK_LIBRARY:feature,library-list>
$<LINK_GROUP:feature,library-list>
# Link Context
$<LINK_ONLY:...>
$<DEVICE_LINK:list>
$<HOST_LINK:list>
endblock()

# Target-Dependent Expressions
block()
$<TARGET_EXISTS:tgt>
$<TARGET_NAME_IF_EXISTS:tgt>
$<TARGET_NAME:...>
$<TARGET_PROPERTY:tgt,prop>
$<TARGET_PROPERTY:prop>
$<TARGET_OBJECTS:tgt>
$<TARGET_POLICY:policy>
$<TARGET_FILE:tgt>
$<TARGET_FILE_BASE_NAME:tgt>
$<TARGET_FILE_PREFIX:tgt>
$<TARGET_FILE_SUFFIX:tgt>
$<TARGET_FILE_NAME:tgt>
$<TARGET_FILE_DIR:tgt>
$<TARGET_IMPORT_FILE:tgt>
$<TARGET_IMPORT_FILE_BASE_NAME:tgt>
$<TARGET_IMPORT_FILE_PREFIX:tgt>
$<TARGET_IMPORT_FILE_SUFFIX:tgt>
$<TARGET_IMPORT_FILE_NAME:tgt>
$<TARGET_IMPORT_FILE_DIR:tgt>
$<TARGET_LINKER_FILE:tgt>
$<TARGET_LINKER_FILE_BASE_NAME:tgt>
$<TARGET_LINKER_FILE_PREFIX:tgt>
$<TARGET_LINKER_FILE_SUFFIX:tgt>
$<TARGET_LINKER_FILE_NAME:tgt>
$<TARGET_LINKER_FILE_DIR:tgt>
$<TARGET_LINKER_LIBRARY_FILE:tgt>
$<TARGET_LINKER_LIBRARY_FILE_BASE_NAME:tgt>
$<TARGET_LINKER_LIBRARY_FILE_PREFIX:tgt>
$<TARGET_LINKER_LIBRARY_FILE_SUFFIX:tgt>
$<TARGET_LINKER_LIBRARY_FILE_NAME:tgt>
$<TARGET_LINKER_LIBRARY_FILE_DIR:tgt>
$<TARGET_LINKER_IMPORT_FILE:tgt>
$<TARGET_LINKER_IMPORT_FILE_BASE_NAME:tgt>
$<TARGET_LINKER_IMPORT_FILE_PREFIX:tgt>
$<TARGET_LINKER_IMPORT_FILE_SUFFIX:tgt>
$<TARGET_LINKER_IMPORT_FILE_NAME:tgt>
$<TARGET_LINKER_IMPORT_FILE_DIR:tgt>
$<TARGET_SONAME_FILE:tgt>
$<TARGET_SONAME_FILE_NAME:tgt>
$<TARGET_SONAME_FILE_DIR:tgt>
$<TARGET_SONAME_IMPORT_FILE:tgt>
$<TARGET_SONAME_IMPORT_FILE_NAME:tgt>
$<TARGET_SONAME_IMPORT_FILE_DIR:tgt>
$<TARGET_PDB_FILE:tgt>
$<TARGET_PDB_FILE_BASE_NAME:tgt>
$<TARGET_PDB_FILE_NAME:tgt>
$<TARGET_PDB_FILE_DIR:tgt>
$<TARGET_BUNDLE_DIR:tgt>
$<TARGET_BUNDLE_DIR_NAME:tgt>
$<TARGET_BUNDLE_CONTENT_DIR:tgt>
$<TARGET_RUNTIME_DLLS:tgt>
$<TARGET_RUNTIME_DLL_DIRS:tgt>
endblock()

# Export And Install Expressions
$<INSTALL_INTERFACE:...>
$<BUILD_INTERFACE:...>
$<BUILD_LOCAL_INTERFACE:...>
$<INSTALL_PREFIX>

# Multi-level Expression Evaluation
$<GENEX_EVAL:expr>
$<TARGET_GENEX_EVAL:tgt, expr>

# Escaped Characters
$<ANGLE-R>
$<COMMA>
$<SEMICOLON>

# Deprecated Expressions
endblock()

#! Properties		===========================================================
# cmake --help-property-list
# https://cmake.org/cmake/help/latest/manual/cmake-properties.7.html
block()
block() # Properties of Global Scope
ALLOW_DUPLICATE_CUSTOM_TARGETS
AUTOGEN_SOURCE_GROUP
AUTOGEN_TARGETS_FOLDER
AUTOMOC_SOURCE_GROUP
AUTOMOC_TARGETS_FOLDER
AUTORCC_SOURCE_GROUP
AUTOUIC_SOURCE_GROUP
CMAKE_C_KNOWN_FEATURES
CMAKE_CUDA_KNOWN_FEATURES
CMAKE_CXX_KNOWN_FEATURES
CMAKE_ROLE
DEBUG_CONFIGURATIONS
DISABLED_FEATURES
ECLIPSE_EXTRA_CPROJECT_CONTENTS
ECLIPSE_EXTRA_NATURES
ENABLED_FEATURES
ENABLED_LANGUAGES
FIND_LIBRARY_USE_LIB32_PATHS
FIND_LIBRARY_USE_LIB64_PATHS
FIND_LIBRARY_USE_LIBX32_PATHS
FIND_LIBRARY_USE_OPENBSD_VERSIONING
GENERATOR_IS_MULTI_CONFIG
GLOBAL_DEPENDS_DEBUG_MODE
GLOBAL_DEPENDS_NO_CYCLES
IN_TRY_COMPILE
JOB_POOLS
PACKAGES_FOUND
PACKAGES_NOT_FOUND
PREDEFINED_TARGETS_FOLDER
REPORT_UNDEFINED_PROPERTIES
RULE_LAUNCH_COMPILE
RULE_LAUNCH_CUSTOM
RULE_LAUNCH_LINK
RULE_MESSAGES
TARGET_ARCHIVES_MAY_BE_SHARED_LIBS
TARGET_MESSAGES
TARGET_SUPPORTS_SHARED_LIBS
USE_FOLDERS
XCODE_EMIT_EFFECTIVE_PLATFORM_NAME
endblock()

block() # Properties on Directories
ADDITIONAL_CLEAN_FILES
BINARY_DIR
BUILDSYSTEM_TARGETS
CACHE_VARIABLES
CLEAN_NO_CUSTOM
CMAKE_CONFIGURE_DEPENDS
COMPILE_DEFINITIONS
COMPILE_OPTIONS
DEFINITIONS
EXCLUDE_FROM_ALL
IMPLICIT_DEPENDS_INCLUDE_TRANSFORM
IMPORTED_TARGETS
INCLUDE_DIRECTORIES
INCLUDE_REGULAR_EXPRESSION
LABELS
LINK_DIRECTORIES
LINK_OPTIONS
LISTFILE_STACK
MACROS
PARENT_DIRECTORY
RULE_LAUNCH_COMPILE
RULE_LAUNCH_CUSTOM
RULE_LAUNCH_LINK
SOURCE_DIR
SUBDIRECTORIES
SYSTEM
TESTS
TEST_INCLUDE_FILES
VARIABLES
VS_GLOBAL_SECTION_POST_<section>
VS_GLOBAL_SECTION_PRE_<section>
VS_STARTUP_PROJECT
endblock()

block() # Properties on Targets
ADDITIONAL_CLEAN_FILES
AIX_EXPORT_ALL_SYMBOLS
ALIAS_GLOBAL
ALIASED_TARGET
ANDROID_ANT_ADDITIONAL_OPTIONS
ANDROID_API
ANDROID_API_MIN
ANDROID_ARCH
ANDROID_ASSETS_DIRECTORIES
ANDROID_GUI
ANDROID_JAR_DEPENDENCIES
ANDROID_JAR_DIRECTORIES
ANDROID_JAVA_SOURCE_DIR
ANDROID_NATIVE_LIB_DEPENDENCIES
ANDROID_NATIVE_LIB_DIRECTORIES
ANDROID_PROCESS_MAX
ANDROID_PROGUARD
ANDROID_PROGUARD_CONFIG_PATH
ANDROID_SECURE_PROPS_PATH
ANDROID_SKIP_ANT_STEP
ANDROID_STL_TYPE
ARCHIVE_OUTPUT_DIRECTORY
ARCHIVE_OUTPUT_DIRECTORY_<CONFIG>
ARCHIVE_OUTPUT_NAME
ARCHIVE_OUTPUT_NAME_<CONFIG>
AUTOGEN_BETTER_GRAPH_MULTI_CONFIG
AUTOGEN_BUILD_DIR
AUTOGEN_COMMAND_LINE_LENGTH_MAX
AUTOGEN_ORIGIN_DEPENDS
AUTOGEN_PARALLEL
AUTOGEN_TARGET_DEPENDS
AUTOGEN_USE_SYSTEM_INCLUDE
AUTOMOC
AUTOMOC_COMPILER_PREDEFINES
AUTOMOC_DEPEND_FILTERS
AUTOMOC_EXECUTABLE
AUTOMOC_MACRO_NAMES
AUTOMOC_MOC_OPTIONS
AUTOMOC_PATH_PREFIX
AUTORCC
AUTORCC_EXECUTABLE
AUTORCC_OPTIONS
AUTOUIC
AUTOUIC_EXECUTABLE
AUTOUIC_OPTIONS
AUTOUIC_SEARCH_PATHS
BINARY_DIR
BUILD_RPATH
BUILD_RPATH_USE_ORIGIN
BUILD_WITH_INSTALL_NAME_DIR
BUILD_WITH_INSTALL_RPATH
BUNDLE
BUNDLE_EXTENSION
C_EXTENSIONS
C_STANDARD
C_STANDARD_REQUIRED
COMMON_LANGUAGE_RUNTIME
COMPATIBLE_INTERFACE_BOOL
COMPATIBLE_INTERFACE_NUMBER_MAX
COMPATIBLE_INTERFACE_NUMBER_MIN
COMPATIBLE_INTERFACE_STRING
COMPILE_DEFINITIONS
COMPILE_FEATURES
COMPILE_FLAGS
COMPILE_OPTIONS
COMPILE_PDB_NAME
COMPILE_PDB_NAME_<CONFIG>
COMPILE_PDB_OUTPUT_DIRECTORY
COMPILE_PDB_OUTPUT_DIRECTORY_<CONFIG>
COMPILE_WARNING_AS_ERROR
<CONFIG>_OUTPUT_NAME
<CONFIG>_POSTFIX
CROSSCOMPILING_EMULATOR
CUDA_ARCHITECTURES
CUDA_CUBIN_COMPILATION
CUDA_EXTENSIONS
CUDA_FATBIN_COMPILATION
CUDA_OPTIX_COMPILATION
CUDA_PTX_COMPILATION
CUDA_RESOLVE_DEVICE_SYMBOLS
CUDA_RUNTIME_LIBRARY
CUDA_SEPARABLE_COMPILATION
CUDA_STANDARD
CUDA_STANDARD_REQUIRED
CXX_EXTENSIONS
CXX_MODULE_DIRS
CXX_MODULE_DIRS_<NAME>
CXX_MODULE_SET
CXX_MODULE_SET_<NAME>
CXX_MODULE_SETS
CXX_SCAN_FOR_MODULES
CXX_STANDARD
CXX_STANDARD_REQUIRED
DEBUG_POSTFIX
DEFINE_SYMBOL
DEPLOYMENT_ADDITIONAL_FILES
DEPLOYMENT_REMOTE_DIRECTORY
DEPRECATION
DISABLE_PRECOMPILE_HEADERS
DLL_NAME_WITH_SOVERSION
DOTNET_SDK
DOTNET_TARGET_FRAMEWORK
DOTNET_TARGET_FRAMEWORK_VERSION
EchoString
ENABLE_EXPORTS
EXCLUDE_FROM_ALL
EXCLUDE_FROM_DEFAULT_BUILD
EXCLUDE_FROM_DEFAULT_BUILD_<CONFIG>
EXPORT_COMPILE_COMMANDS
EXPORT_FIND_PACKAGE_NAME
EXPORT_NAME
EXPORT_NO_SYSTEM
EXPORT_PROPERTIES
FOLDER
Fortran_BUILDING_INSTRINSIC_MODULES
Fortran_FORMAT
Fortran_MODULE_DIRECTORY
Fortran_PREPROCESS
FRAMEWORK
FRAMEWORK_MULTI_CONFIG_POSTFIX_<CONFIG>
FRAMEWORK_VERSION
GENERATOR_FILE_NAME
GHS_INTEGRITY_APP
GHS_NO_SOURCE_GROUP_FILE
GNUtoMS
HAS_CXX
HEADER_DIRS
HEADER_DIRS_<NAME>
HEADER_SET
HEADER_SET_<NAME>
HEADER_SETS
HIP_ARCHITECTURES
HIP_EXTENSIONS
HIP_STANDARD
HIP_STANDARD_REQUIRED
IMPLICIT_DEPENDS_INCLUDE_TRANSFORM
IMPORTED
IMPORTED_COMMON_LANGUAGE_RUNTIME
IMPORTED_CONFIGURATIONS
IMPORTED_CXX_MODULES_COMPILE_DEFINITIONS
IMPORTED_CXX_MODULES_COMPILE_FEATURES
IMPORTED_CXX_MODULES_COMPILE_OPTIONS
IMPORTED_CXX_MODULES_INCLUDE_DIRECTORIES
IMPORTED_CXX_MODULES_LINK_LIBRARIES
IMPORTED_GLOBAL
IMPORTED_IMPLIB
IMPORTED_IMPLIB_<CONFIG>
IMPORTED_LIBNAME
IMPORTED_LIBNAME_<CONFIG>
IMPORTED_LINK_DEPENDENT_LIBRARIES
IMPORTED_LINK_DEPENDENT_LIBRARIES_<CONFIG>
IMPORTED_LINK_INTERFACE_LANGUAGES
IMPORTED_LINK_INTERFACE_LANGUAGES_<CONFIG>
IMPORTED_LINK_INTERFACE_LIBRARIES
IMPORTED_LINK_INTERFACE_LIBRARIES_<CONFIG>
IMPORTED_LINK_INTERFACE_MULTIPLICITY
IMPORTED_LINK_INTERFACE_MULTIPLICITY_<CONFIG>
IMPORTED_LOCATION
IMPORTED_LOCATION_<CONFIG>
IMPORTED_NO_SONAME
IMPORTED_NO_SONAME_<CONFIG>
IMPORTED_OBJECTS
IMPORTED_OBJECTS_<CONFIG>
IMPORTED_SONAME
IMPORTED_SONAME_<CONFIG>
IMPORT_PREFIX
IMPORT_SUFFIX
INCLUDE_DIRECTORIES
INSTALL_NAME_DIR
INSTALL_REMOVE_ENVIRONMENT_RPATH
INSTALL_RPATH
INSTALL_RPATH_USE_LINK_PATH
INTERFACE_AUTOMOC_MACRO_NAMES
INTERFACE_AUTOUIC_OPTIONS
INTERFACE_COMPILE_DEFINITIONS
INTERFACE_COMPILE_FEATURES
INTERFACE_COMPILE_OPTIONS
INTERFACE_CXX_MODULE_SETS
INTERFACE_HEADER_SETS
INTERFACE_HEADER_SETS_TO_VERIFY
INTERFACE_INCLUDE_DIRECTORIES
INTERFACE_LINK_DEPENDS
INTERFACE_LINK_DIRECTORIES
INTERFACE_LINK_LIBRARIES
INTERFACE_LINK_LIBRARIES_DIRECT
INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE
INTERFACE_LINK_OPTIONS
INTERFACE_POSITION_INDEPENDENT_CODE
INTERFACE_PRECOMPILE_HEADERS
INTERFACE_SOURCES
INTERFACE_SYSTEM_INCLUDE_DIRECTORIES
INTERPROCEDURAL_OPTIMIZATION
INTERPROCEDURAL_OPTIMIZATION_<CONFIG>
ISPC_HEADER_DIRECTORY
ISPC_HEADER_SUFFIX
ISPC_INSTRUCTION_SETS
JOB_POOL_COMPILE
JOB_POOL_LINK
JOB_POOL_PRECOMPILE_HEADER
LABELS
<LANG>_CLANG_TIDY
<LANG>_CLANG_TIDY_EXPORT_FIXES_DIR
<LANG>_COMPILER_LAUNCHER
<LANG>_CPPCHECK
<LANG>_CPPLINT
<LANG>_EXTENSIONS
<LANG>_INCLUDE_WHAT_YOU_USE
<LANG>_LINKER_LAUNCHER
<LANG>_STANDARD
<LANG>_STANDARD_REQUIRED
<LANG>_VISIBILITY_PRESET
LIBRARY_OUTPUT_DIRECTORY
LIBRARY_OUTPUT_DIRECTORY_<CONFIG>
LIBRARY_OUTPUT_NAME
LIBRARY_OUTPUT_NAME_<CONFIG>
LINK_DEPENDS
LINK_DEPENDS_NO_SHARED
LINK_DIRECTORIES
LINK_FLAGS
LINK_FLAGS_<CONFIG>
LINK_INTERFACE_LIBRARIES
LINK_INTERFACE_LIBRARIES_<CONFIG>
LINK_INTERFACE_MULTIPLICITY
LINK_INTERFACE_MULTIPLICITY_<CONFIG>
LINK_LIBRARIES
LINK_LIBRARIES_ONLY_TARGETS
LINK_LIBRARY_OVERRIDE
LINK_LIBRARY_OVERRIDE_<LIBRARY>
LINK_OPTIONS
LINK_SEARCH_END_STATIC
LINK_SEARCH_START_STATIC
LINK_WHAT_YOU_USE
LINKER_LANGUAGE
LINKER_TYPE
LOCATION
LOCATION_<CONFIG>
MACHO_COMPATIBILITY_VERSION
MACHO_CURRENT_VERSION
MACOSX_BUNDLE
MACOSX_BUNDLE_INFO_PLIST
MACOSX_FRAMEWORK_INFO_PLIST
MACOSX_RPATH
MANUALLY_ADDED_DEPENDENCIES
MAP_IMPORTED_CONFIG_<CONFIG>
MSVC_DEBUG_INFORMATION_FORMAT
MSVC_RUNTIME_LIBRARY
NAME
NO_SONAME
NO_SYSTEM_FROM_IMPORTED
OBJC_EXTENSIONS
OBJC_STANDARD
OBJC_STANDARD_REQUIRED
OBJCXX_EXTENSIONS
OBJCXX_STANDARD
OBJCXX_STANDARD_REQUIRED
OPTIMIZE_DEPENDENCIES
OSX_ARCHITECTURES
OSX_ARCHITECTURES_<CONFIG>
OUTPUT_NAME
OUTPUT_NAME_<CONFIG>
PCH_INSTANTIATE_TEMPLATES
PCH_WARN_INVALID
PDB_NAME
PDB_NAME_<CONFIG>
PDB_OUTPUT_DIRECTORY
PDB_OUTPUT_DIRECTORY_<CONFIG>
POSITION_INDEPENDENT_CODE
PRECOMPILE_HEADERS
PRECOMPILE_HEADERS_REUSE_FROM
PREFIX
PRIVATE_HEADER
PROJECT_LABEL
PUBLIC_HEADER
RESOURCE
RULE_LAUNCH_COMPILE
RULE_LAUNCH_CUSTOM
RULE_LAUNCH_LINK
RUNTIME_OUTPUT_DIRECTORY
RUNTIME_OUTPUT_DIRECTORY_<CONFIG>
RUNTIME_OUTPUT_NAME
RUNTIME_OUTPUT_NAME_<CONFIG>
SKIP_BUILD_RPATH
SOURCE_DIR
SOURCES
SOVERSION
STATIC_LIBRARY_FLAGS
STATIC_LIBRARY_FLAGS_<CONFIG>
STATIC_LIBRARY_OPTIONS
SUFFIX
Swift_COMPILATION_MODE
Swift_DEPENDENCIES_FILE
Swift_LANGUAGE_VERSION
Swift_MODULE_DIRECTORY
Swift_MODULE_NAME
SYSTEM
TEST_LAUNCHER
TYPE
UNITY_BUILD
UNITY_BUILD_BATCH_SIZE
UNITY_BUILD_CODE_AFTER_INCLUDE
UNITY_BUILD_CODE_BEFORE_INCLUDE
UNITY_BUILD_MODE
UNITY_BUILD_UNIQUE_ID
VERIFY_INTERFACE_HEADER_SETS
VERSION
VISIBILITY_INLINES_HIDDEN
VS_CONFIGURATION_TYPE
VS_DEBUGGER_COMMAND
VS_DEBUGGER_COMMAND_ARGUMENTS
VS_DEBUGGER_ENVIRONMENT
VS_DEBUGGER_WORKING_DIRECTORY
VS_DESKTOP_EXTENSIONS_VERSION
VS_DOTNET_DOCUMENTATION_FILE
VS_DOTNET_REFERENCE_<refname>
VS_DOTNET_REFERENCEPROP_<refname>_TAG_<tagname>
VS_DOTNET_REFERENCES
VS_DOTNET_REFERENCES_COPY_LOCAL
VS_DOTNET_STARTUP_OBJECT
VS_DOTNET_TARGET_FRAMEWORK_VERSION
VS_DPI_AWARE
VS_GLOBAL_KEYWORD
VS_GLOBAL_PROJECT_TYPES
VS_GLOBAL_ROOTNAMESPACE
VS_GLOBAL_<variable>
VS_IOT_EXTENSIONS_VERSION
VS_IOT_STARTUP_TASK
VS_JUST_MY_CODE_DEBUGGING
VS_KEYWORD
VS_MOBILE_EXTENSIONS_VERSION
VS_NO_COMPILE_BATCHING
VS_NO_SOLUTION_DEPLOY
VS_PACKAGE_REFERENCES
VS_PLATFORM_TOOLSET
VS_PROJECT_IMPORT
VS_SCC_AUXPATH
VS_SCC_LOCALPATH
VS_SCC_PROJECTNAME
VS_SCC_PROVIDER
VS_SDK_REFERENCES
VS_SOLUTION_DEPLOY
VS_SOURCE_SETTINGS_<tool>
VS_USER_PROPS
VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION
VS_WINRT_COMPONENT
VS_WINRT_REFERENCES
WATCOM_RUNTIME_LIBRARY
WIN32_EXECUTABLE
WINDOWS_EXPORT_ALL_SYMBOLS
XCODE_ATTRIBUTE_<an-attribute>
XCODE_EMBED_FRAMEWORKS_CODE_SIGN_ON_COPY
XCODE_EMBED_FRAMEWORKS_REMOVE_HEADERS_ON_COPY
XCODE_EMBED_<type>
XCODE_EMBED_<type>_CODE_SIGN_ON_COPY
XCODE_EMBED_<type>_PATH
XCODE_EMBED_<type>_REMOVE_HEADERS_ON_COPY
XCODE_EXPLICIT_FILE_TYPE
XCODE_GENERATE_SCHEME
XCODE_LINK_BUILD_PHASE_MODE
XCODE_PRODUCT_TYPE
XCODE_SCHEME_ADDRESS_SANITIZER
XCODE_SCHEME_ADDRESS_SANITIZER_USE_AFTER_RETURN
XCODE_SCHEME_ARGUMENTS
XCODE_SCHEME_DEBUG_AS_ROOT
XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING
XCODE_SCHEME_DISABLE_MAIN_THREAD_CHECKER
XCODE_SCHEME_DYNAMIC_LIBRARY_LOADS
XCODE_SCHEME_DYNAMIC_LINKER_API_USAGE
XCODE_SCHEME_ENABLE_GPU_API_VALIDATION
XCODE_SCHEME_ENABLE_GPU_FRAME_CAPTURE_MODE
XCODE_SCHEME_ENABLE_GPU_SHADER_VALIDATION
XCODE_SCHEME_ENVIRONMENT
XCODE_SCHEME_EXECUTABLE
XCODE_SCHEME_GUARD_MALLOC
XCODE_SCHEME_LAUNCH_CONFIGURATION
XCODE_SCHEME_LAUNCH_MODE
XCODE_SCHEME_MAIN_THREAD_CHECKER_STOP
XCODE_SCHEME_MALLOC_GUARD_EDGES
XCODE_SCHEME_MALLOC_SCRIBBLE
XCODE_SCHEME_MALLOC_STACK
XCODE_SCHEME_THREAD_SANITIZER
XCODE_SCHEME_THREAD_SANITIZER_STOP
XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER
XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER_STOP
XCODE_SCHEME_WORKING_DIRECTORY
XCODE_SCHEME_ZOMBIE_OBJECTS
XCODE_XCCONFIG
XCTEST

# Expaned
<LANG>_CLANG_TIDY
	C_CLANG_TIDY
	CXX_CLANG_TIDY
<LANG>_COMPILER_LAUNCHER
	C_COMPILER_LAUNCHER
	CXX_COMPILER_LAUNCHER
	CUDA_COMPILER_LAUNCHER
	Fortran_COMPILER_LAUNCHER
<LANG>_CPPCHECK
	C_CPPCHECK
	CXX_CPPCHECK
<LANG>_CPPLINT
	C_CPPLINT
	CXX_CPPLINT
<LANG>_INCLUDE_WHAT_YOU_USE
	C_INCLUDE_WHAT_YOU_USE
	CXX_INCLUDE_WHAT_YOU_USE
endblock()

block() # Properties on Tests
ATTACHED_FILES
ATTACHED_FILES_ON_FAIL
COST
DEPENDS
DISABLED
ENVIRONMENT
ENVIRONMENT_MODIFICATION
FAIL_REGULAR_EXPRESSION
FIXTURES_CLEANUP
FIXTURES_REQUIRED
FIXTURES_SETUP
GENERATED_RESOURCE_SPEC_FILE
LABELS
MEASUREMENT
PASS_REGULAR_EXPRESSION
PROCESSOR_AFFINITY
PROCESSORS
REQUIRED_FILES
RESOURCE_GROUPS
RESOURCE_LOCK
RUN_SERIAL
SKIP_REGULAR_EXPRESSION
SKIP_RETURN_CODE
TIMEOUT
TIMEOUT_AFTER_MATCH
TIMEOUT_SIGNAL_GRACE_PERIOD
TIMEOUT_SIGNAL_NAME
WILL_FAIL
WORKING_DIRECTORY
endblock()

block() # Properties on Source Files
ABSTRACT
AUTORCC_OPTIONS
AUTOUIC_OPTIONS
COMPILE_DEFINITIONS
COMPILE_FLAGS
COMPILE_OPTIONS
CXX_SCAN_FOR_MODULES
EXTERNAL_OBJECT
Fortran_FORMAT
Fortran_PREPROCESS
GENERATED
HEADER_FILE_ONLY
INCLUDE_DIRECTORIES
KEEP_EXTENSION
LABELS
LANGUAGE
LOCATION
MACOSX_PACKAGE_LOCATION
OBJECT_DEPENDS
OBJECT_OUTPUTS
SKIP_AUTOGEN
SKIP_AUTOMOC
SKIP_AUTORCC
SKIP_AUTOUIC
SKIP_LINTING
SKIP_PRECOMPILE_HEADERS
SKIP_UNITY_BUILD_INCLUSION
Swift_DEPENDENCIES_FILE
Swift_DIAGNOSTICS_FILE
SYMBOLIC
UNITY_GROUP
VS_COPY_TO_OUT_DIR
VS_CSHARP_<tagname>
VS_DEPLOYMENT_CONTENT
VS_DEPLOYMENT_LOCATION
VS_INCLUDE_IN_VSIX
VS_RESOURCE_GENERATOR
VS_SETTINGS
VS_SHADER_DISABLE_OPTIMIZATIONS
VS_SHADER_ENABLE_DEBUG
VS_SHADER_ENTRYPOINT
VS_SHADER_FLAGS
VS_SHADER_MODEL
VS_SHADER_OBJECT_FILE_NAME
VS_SHADER_OUTPUT_HEADER_FILE
VS_SHADER_TYPE
VS_SHADER_VARIABLE_NAME
VS_TOOL_OVERRIDE
VS_XAML_TYPE
WRAP_EXCLUDE
XCODE_EXPLICIT_FILE_TYPE
XCODE_FILE_ATTRIBUTES
XCODE_LAST_KNOWN_FILE_TYPE
endblock()

# Properties on Cache Entries
ADVANCED
HELPSTRING
MODIFIED
STRINGS
TYPE
VALUE

# Properties on Installed Files
CPACK_DESKTOP_SHORTCUTS
CPACK_NEVER_OVERWRITE
CPACK_PERMANENT
CPACK_START_MENU_SHORTCUTS
CPACK_STARTUP_SHORTCUTS
CPACK_WIX_ACL

# Deprecated Properties on Directories
# Deprecated Properties on Targets
# Deprecated Properties on Source Files

block() # Query key for cmake_host_system_information()
NUMBER_OF_LOGICAL_CORES
NUMBER_OF_PHYSICAL_CORES
HOSTNAME
FQDN
TOTAL_VIRTUAL_MEMORY
AVAILABLE_VIRTUAL_MEMORY
TOTAL_PHYSICAL_MEMORY
AVAILABLE_PHYSICAL_MEMORY
IS_64BIT
HAS_FPU
HAS_MMX
HAS_MMX_PLUS
HAS_SSE
HAS_SSE2
HAS_SSE_FP
HAS_SSE_MMX
HAS_AMD_3DNOW
HAS_AMD_3DNOW_PLUS
HAS_IA64
HAS_SERIAL_NUMBER
PROCESSOR_SERIAL_NUMBER
PROCESSOR_NAME
PROCESSOR_DESCRIPTION
OS_NAME
OS_RELEASE
OS_VERSION
OS_PLATFORM
MSYSTEM_PREFIX
DISTRIB_INFO
endblock()
endblock()

#! Variables		===========================================================
# cmake --help-variable-list
# https://cmake.org/cmake/help/latest/manual/cmake-variables.7.html
block()
block() # Variables that Provide Information
CMAKE_AR
CMAKE_ARGC
CMAKE_ARGV0
CMAKE_BINARY_DIR
CMAKE_BUILD_TOOL
CMAKE_CACHE_MAJOR_VERSION
CMAKE_CACHE_MINOR_VERSION
CMAKE_CACHE_PATCH_VERSION
CMAKE_CACHEFILE_DIR
CMAKE_CFG_INTDIR
CMAKE_COMMAND
CMAKE_CPACK_COMMAND
CMAKE_CROSSCOMPILING
CMAKE_CROSSCOMPILING_EMULATOR
CMAKE_CTEST_COMMAND
CMAKE_CURRENT_BINARY_DIR
CMAKE_CURRENT_FUNCTION
CMAKE_CURRENT_FUNCTION_LIST_DIR
CMAKE_CURRENT_FUNCTION_LIST_FILE
CMAKE_CURRENT_FUNCTION_LIST_LINE
CMAKE_CURRENT_LIST_DIR
CMAKE_CURRENT_LIST_FILE
CMAKE_CURRENT_LIST_LINE
CMAKE_CURRENT_SOURCE_DIR
CMAKE_DEBUG_TARGET_PROPERTIES
CMAKE_DIRECTORY_LABELS
CMAKE_DL_LIBS
CMAKE_DOTNET_SDK
CMAKE_DOTNET_TARGET_FRAMEWORK
CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION
CMAKE_EDIT_COMMAND
CMAKE_EXECUTABLE_SUFFIX
CMAKE_EXECUTABLE_SUFFIX_<LANG>
CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES
CMAKE_FIND_DEBUG_MODE
CMAKE_FIND_PACKAGE_NAME
CMAKE_FIND_PACKAGE_REDIRECTS_DIR
CMAKE_FIND_PACKAGE_SORT_DIRECTION
CMAKE_FIND_PACKAGE_SORT_ORDER
CMAKE_GENERATOR
CMAKE_GENERATOR_INSTANCE
CMAKE_GENERATOR_PLATFORM
CMAKE_GENERATOR_TOOLSET
CMAKE_IMPORT_LIBRARY_PREFIX
CMAKE_IMPORT_LIBRARY_SUFFIX
CMAKE_JOB_POOL_COMPILE
CMAKE_JOB_POOL_LINK
CMAKE_JOB_POOL_PRECOMPILE_HEADER
CMAKE_JOB_POOLS
CMAKE_<LANG>_COMPILER_AR
CMAKE_<LANG>_COMPILER_FRONTEND_VARIANT
CMAKE_<LANG>_COMPILER_LINKER
CMAKE_<LANG>_COMPILER_LINKER_FRONTEND_VARIANT
CMAKE_<LANG>_COMPILER_LINKER_ID
CMAKE_<LANG>_COMPILER_LINKER_VERSION
CMAKE_<LANG>_COMPILER_RANLIB
CMAKE_<LANG>_LINK_LIBRARY_SUFFIX
CMAKE_LINK_LIBRARY_SUFFIX
CMAKE_LINK_SEARCH_END_STATIC
CMAKE_LINK_SEARCH_START_STATIC
CMAKE_MAJOR_VERSION
CMAKE_MAKE_PROGRAM
CMAKE_MATCH_COUNT
CMAKE_MATCH_<n>
CMAKE_MINIMUM_REQUIRED_VERSION
CMAKE_MINOR_VERSION
CMAKE_NETRC
CMAKE_NETRC_FILE
CMAKE_PARENT_LIST_FILE
CMAKE_PATCH_VERSION
CMAKE_PROJECT_DESCRIPTION
CMAKE_PROJECT_HOMEPAGE_URL
CMAKE_PROJECT_NAME
CMAKE_PROJECT_VERSION
CMAKE_PROJECT_VERSION_MAJOR
CMAKE_PROJECT_VERSION_MINOR
CMAKE_PROJECT_VERSION_PATCH
CMAKE_PROJECT_VERSION_TWEAK
CMAKE_RANLIB
CMAKE_ROOT
CMAKE_RULE_MESSAGES
CMAKE_SCRIPT_MODE_FILE
CMAKE_SHARED_LIBRARY_PREFIX
CMAKE_SHARED_LIBRARY_SUFFIX
CMAKE_SHARED_MODULE_PREFIX
CMAKE_SHARED_MODULE_SUFFIX
CMAKE_SIZEOF_VOID_P
CMAKE_SKIP_INSTALL_RULES
CMAKE_SKIP_RPATH
CMAKE_SOURCE_DIR
CMAKE_STATIC_LIBRARY_PREFIX
CMAKE_STATIC_LIBRARY_SUFFIX
CMAKE_Swift_COMPILATION_MODE
CMAKE_Swift_MODULE_DIRECTORY
CMAKE_Swift_NUM_THREADS
CMAKE_TEST_LAUNCHER
CMAKE_TOOLCHAIN_FILE
CMAKE_TWEAK_VERSION
CMAKE_VERBOSE_MAKEFILE
CMAKE_VERSION
CMAKE_VS_DEVENV_COMMAND
CMAKE_VS_MSBUILD_COMMAND
CMAKE_VS_NsightTegra_VERSION
CMAKE_VS_NUGET_PACKAGE_RESTORE
CMAKE_VS_PLATFORM_NAME
CMAKE_VS_PLATFORM_NAME_DEFAULT
CMAKE_VS_PLATFORM_TOOLSET
CMAKE_VS_PLATFORM_TOOLSET_CUDA
CMAKE_VS_PLATFORM_TOOLSET_CUDA_CUSTOM_DIR
CMAKE_VS_PLATFORM_TOOLSET_FORTRAN
CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE
CMAKE_VS_PLATFORM_TOOLSET_VERSION
CMAKE_VS_TARGET_FRAMEWORK_IDENTIFIER
CMAKE_VS_TARGET_FRAMEWORK_TARGETS_VERSION
CMAKE_VS_TARGET_FRAMEWORK_VERSION
CMAKE_VS_VERSION_BUILD_NUMBER
CMAKE_VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION
CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION
CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION_MAXIMUM
CMAKE_XCODE_BUILD_SYSTEM
CMAKE_XCODE_PLATFORM_TOOLSET
<PROJECT-NAME>_BINARY_DIR
<PROJECT-NAME>_DESCRIPTION
<PROJECT-NAME>_HOMEPAGE_URL
<PROJECT-NAME>_IS_TOP_LEVEL
<PROJECT-NAME>_SOURCE_DIR
<PROJECT-NAME>_VERSION
<PROJECT-NAME>_VERSION_MAJOR
<PROJECT-NAME>_VERSION_MINOR
<PROJECT-NAME>_VERSION_PATCH
<PROJECT-NAME>_VERSION_TWEAK
PROJECT_BINARY_DIR
PROJECT_DESCRIPTION
PROJECT_HOMEPAGE_URL
PROJECT_IS_TOP_LEVEL
PROJECT_NAME
PROJECT_SOURCE_DIR
PROJECT_VERSION
PROJECT_VERSION_MAJOR
PROJECT_VERSION_MINOR
PROJECT_VERSION_PATCH
PROJECT_VERSION_TWEAK
endblock()

block() # Variables that Change Behavior
BUILD_SHARED_LIBS
CMAKE_ABSOLUTE_DESTINATION_FILES
CMAKE_ADD_CUSTOM_COMMAND_DEPENDS_EXPLICIT_ONLY
CMAKE_APPBUNDLE_PATH
CMAKE_BUILD_TYPE
CMAKE_CLANG_VFS_OVERLAY
CMAKE_CODEBLOCKS_COMPILER_ID
CMAKE_CODEBLOCKS_EXCLUDE_EXTERNAL_FILES
CMAKE_CODELITE_USE_TARGETS
CMAKE_COLOR_DIAGNOSTICS
CMAKE_COLOR_MAKEFILE
CMAKE_CONFIGURATION_TYPES
CMAKE_DEPENDS_IN_PROJECT_ONLY
CMAKE_DISABLE_FIND_PACKAGE_<PackageName>
CMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES
CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT
CMAKE_ECLIPSE_MAKE_ARGUMENTS
CMAKE_ECLIPSE_RESOURCE_ENCODING
CMAKE_ECLIPSE_VERSION
CMAKE_ERROR_DEPRECATED
CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION
CMAKE_EXECUTE_PROCESS_COMMAND_ECHO
CMAKE_EXPORT_COMPILE_COMMANDS
CMAKE_EXPORT_PACKAGE_REGISTRY
CMAKE_EXPORT_NO_PACKAGE_REGISTRY
CMAKE_FIND_APPBUNDLE
CMAKE_FIND_FRAMEWORK
CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX
CMAKE_FIND_LIBRARY_PREFIXES
CMAKE_FIND_LIBRARY_SUFFIXES
CMAKE_FIND_NO_INSTALL_PREFIX
CMAKE_FIND_PACKAGE_PREFER_CONFIG
CMAKE_FIND_PACKAGE_RESOLVE_SYMLINKS
CMAKE_FIND_PACKAGE_TARGETS_GLOBAL
CMAKE_FIND_PACKAGE_WARN_NO_MODULE
CMAKE_FIND_ROOT_PATH
CMAKE_FIND_ROOT_PATH_MODE_INCLUDE
CMAKE_FIND_ROOT_PATH_MODE_LIBRARY
CMAKE_FIND_ROOT_PATH_MODE_PACKAGE
CMAKE_FIND_ROOT_PATH_MODE_PROGRAM
CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH
CMAKE_FIND_USE_CMAKE_PATH
CMAKE_FIND_USE_CMAKE_SYSTEM_PATH
CMAKE_FIND_USE_INSTALL_PREFIX
CMAKE_FIND_USE_PACKAGE_REGISTRY
CMAKE_FIND_USE_PACKAGE_ROOT_PATH
CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH
CMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRY
CMAKE_FRAMEWORK_PATH
CMAKE_IGNORE_PATH
CMAKE_IGNORE_PREFIX_PATH
CMAKE_INCLUDE_DIRECTORIES_BEFORE
CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE
CMAKE_INCLUDE_PATH
CMAKE_INSTALL_DEFAULT_COMPONENT_NAME
CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS
CMAKE_INSTALL_MESSAGE
CMAKE_INSTALL_PREFIX
CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT
CMAKE_KATE_FILES_MODE
CMAKE_KATE_MAKE_ARGUMENTS
CMAKE_LIBRARY_PATH
CMAKE_LINK_DIRECTORIES_BEFORE
CMAKE_LINK_LIBRARIES_ONLY_TARGETS
CMAKE_MAXIMUM_RECURSION_DEPTH
CMAKE_MESSAGE_CONTEXT
CMAKE_MESSAGE_CONTEXT_SHOW
CMAKE_MESSAGE_INDENT
CMAKE_MESSAGE_LOG_LEVEL
CMAKE_MFC_FLAG
CMAKE_MODULE_PATH
CMAKE_POLICY_DEFAULT_CMP<NNNN>
CMAKE_POLICY_WARNING_CMP<NNNN>
CMAKE_PREFIX_PATH
CMAKE_PROGRAM_PATH
CMAKE_PROJECT_INCLUDE
CMAKE_PROJECT_INCLUDE_BEFORE
CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE
CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE_BEFORE
CMAKE_PROJECT_TOP_LEVEL_INCLUDES
CMAKE_REQUIRE_FIND_PACKAGE_<PackageName>
CMAKE_SKIP_INSTALL_ALL_DEPENDENCY
CMAKE_SKIP_TEST_ALL_DEPENDENCY
CMAKE_STAGING_PREFIX
CMAKE_SUBLIME_TEXT_2_ENV_SETTINGS
CMAKE_SUBLIME_TEXT_2_EXCLUDE_BUILD_TREE
CMAKE_SUPPRESS_REGENERATION
CMAKE_SYSROOT
CMAKE_SYSROOT_COMPILE
CMAKE_SYSROOT_LINK
CMAKE_SYSTEM_APPBUNDLE_PATH
CMAKE_SYSTEM_FRAMEWORK_PATH
CMAKE_SYSTEM_IGNORE_PATH
CMAKE_SYSTEM_IGNORE_PREFIX_PATH
CMAKE_SYSTEM_INCLUDE_PATH
CMAKE_SYSTEM_LIBRARY_PATH
CMAKE_SYSTEM_PREFIX_PATH
CMAKE_SYSTEM_PROGRAM_PATH
CMAKE_TLS_CAINFO
CMAKE_TLS_VERIFY
CMAKE_USER_MAKE_RULES_OVERRIDE
CMAKE_WARN_DEPRECATED
CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION
CMAKE_XCODE_GENERATE_SCHEME
CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY
CMAKE_XCODE_LINK_BUILD_PHASE_MODE
CMAKE_XCODE_SCHEME_ADDRESS_SANITIZER
CMAKE_XCODE_SCHEME_ADDRESS_SANITIZER_USE_AFTER_RETURN
CMAKE_XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING
CMAKE_XCODE_SCHEME_DISABLE_MAIN_THREAD_CHECKER
CMAKE_XCODE_SCHEME_DYNAMIC_LIBRARY_LOADS
CMAKE_XCODE_SCHEME_DYNAMIC_LINKER_API_USAGE
CMAKE_XCODE_SCHEME_ENABLE_GPU_API_VALIDATION
CMAKE_XCODE_SCHEME_ENABLE_GPU_FRAME_CAPTURE_MODE
CMAKE_XCODE_SCHEME_ENABLE_GPU_SHADER_VALIDATION
CMAKE_XCODE_SCHEME_ENVIRONMENT
CMAKE_XCODE_SCHEME_GUARD_MALLOC
CMAKE_XCODE_SCHEME_LAUNCH_CONFIGURATION
CMAKE_XCODE_SCHEME_LAUNCH_MODE
CMAKE_XCODE_SCHEME_MAIN_THREAD_CHECKER_STOP
CMAKE_XCODE_SCHEME_MALLOC_GUARD_EDGES
CMAKE_XCODE_SCHEME_MALLOC_SCRIBBLE
CMAKE_XCODE_SCHEME_MALLOC_STACK
CMAKE_XCODE_SCHEME_THREAD_SANITIZER
CMAKE_XCODE_SCHEME_THREAD_SANITIZER_STOP
CMAKE_XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER
CMAKE_XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER_STOP
CMAKE_XCODE_SCHEME_WORKING_DIRECTORY
CMAKE_XCODE_SCHEME_ZOMBIE_OBJECTS
CMAKE_XCODE_XCCONFIG
<PackageName>_ROOT
endblock()

block() # Variables that Describe the System
ANDROID
APPLE
BORLAND
BSD
CMAKE_ANDROID_NDK_VERSION
CMAKE_CL_64
CMAKE_COMPILER_2005
CMAKE_HOST_APPLE
CMAKE_HOST_BSD
CMAKE_HOST_LINUX
CMAKE_HOST_SOLARIS
CMAKE_HOST_SYSTEM
CMAKE_HOST_SYSTEM_NAME
CMAKE_HOST_SYSTEM_PROCESSOR
CMAKE_HOST_SYSTEM_VERSION
CMAKE_HOST_UNIX
CMAKE_HOST_WIN32
CMAKE_LIBRARY_ARCHITECTURE
CMAKE_LIBRARY_ARCHITECTURE_REGEX
CMAKE_OBJECT_PATH_MAX
CMAKE_SYSTEM
CMAKE_SYSTEM_NAME
CMAKE_SYSTEM_PROCESSOR
CMAKE_SYSTEM_VERSION
CYGWIN
GHSMULTI
IOS
LINUX
MINGW
MSVC
MSVC_IDE
MSVC_TOOLSET_VERSION
MSVC_VERSION
MSYS
UNIX
WIN32
WINCE
WINDOWS_PHONE
WINDOWS_STORE
XCODE
XCODE_VERSION
endblock()

block() # Variables that Control the Build
CMAKE_ADSP_ROOT
CMAKE_AIX_EXPORT_ALL_SYMBOLS
CMAKE_ANDROID_ANT_ADDITIONAL_OPTIONS
CMAKE_ANDROID_API
CMAKE_ANDROID_API_MIN
CMAKE_ANDROID_ARCH
CMAKE_ANDROID_ARCH_ABI
CMAKE_ANDROID_ARM_MODE
CMAKE_ANDROID_ARM_NEON
CMAKE_ANDROID_ASSETS_DIRECTORIES
CMAKE_ANDROID_EXCEPTIONS
CMAKE_ANDROID_GUI
CMAKE_ANDROID_JAR_DEPENDENCIES
CMAKE_ANDROID_JAR_DIRECTORIES
CMAKE_ANDROID_JAVA_SOURCE_DIR
CMAKE_ANDROID_NATIVE_LIB_DEPENDENCIES
CMAKE_ANDROID_NATIVE_LIB_DIRECTORIES
CMAKE_ANDROID_NDK
CMAKE_ANDROID_NDK_DEPRECATED_HEADERS
CMAKE_ANDROID_NDK_TOOLCHAIN_HOST_TAG
CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION
CMAKE_ANDROID_PROCESS_MAX
CMAKE_ANDROID_PROGUARD
CMAKE_ANDROID_PROGUARD_CONFIG_PATH
CMAKE_ANDROID_RTTI
CMAKE_ANDROID_SECURE_PROPS_PATH
CMAKE_ANDROID_SKIP_ANT_STEP
CMAKE_ANDROID_STANDALONE_TOOLCHAIN
CMAKE_ANDROID_STL_TYPE
CMAKE_APPLE_SILICON_PROCESSOR
CMAKE_ARCHIVE_OUTPUT_DIRECTORY
CMAKE_ARCHIVE_OUTPUT_DIRECTORY_<CONFIG>
CMAKE_AUTOGEN_BETTER_GRAPH_MULTI_CONFIG
CMAKE_AUTOGEN_COMMAND_LINE_LENGTH_MAX
CMAKE_AUTOGEN_ORIGIN_DEPENDS
CMAKE_AUTOGEN_PARALLEL
CMAKE_AUTOGEN_USE_SYSTEM_INCLUDE
CMAKE_AUTOGEN_VERBOSE
CMAKE_AUTOMOC
CMAKE_AUTOMOC_COMPILER_PREDEFINES
CMAKE_AUTOMOC_DEPEND_FILTERS
CMAKE_AUTOMOC_MACRO_NAMES
CMAKE_AUTOMOC_MOC_OPTIONS
CMAKE_AUTOMOC_PATH_PREFIX
CMAKE_AUTOMOC_EXECUTABLE
CMAKE_AUTORCC
CMAKE_AUTORCC_OPTIONS
CMAKE_AUTORCC_EXECUTABLE
CMAKE_AUTOUIC
CMAKE_AUTOUIC_OPTIONS
CMAKE_AUTOUIC_SEARCH_PATHS
CMAKE_AUTOUIC_EXECUTABLE
CMAKE_BUILD_RPATH
CMAKE_BUILD_RPATH_USE_ORIGIN
CMAKE_BUILD_WITH_INSTALL_NAME_DIR
CMAKE_BUILD_WITH_INSTALL_RPATH
CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY
CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY_<CONFIG>
CMAKE_COMPILE_WARNING_AS_ERROR
CMAKE_<CONFIG>_POSTFIX
CMAKE_CROSS_CONFIGS
CMAKE_CTEST_ARGUMENTS
CMAKE_CUDA_RESOLVE_DEVICE_SYMBOLS
CMAKE_CUDA_RUNTIME_LIBRARY
CMAKE_CUDA_SEPARABLE_COMPILATION
CMAKE_CXX_SCAN_FOR_MODULES
CMAKE_DEBUG_POSTFIX
CMAKE_DEFAULT_BUILD_TYPE
CMAKE_DEFAULT_CONFIGS
CMAKE_DEPENDS_USE_COMPILER
CMAKE_DISABLE_PRECOMPILE_HEADERS
CMAKE_DLL_NAME_WITH_SOVERSION
CMAKE_ENABLE_EXPORTS
CMAKE_EXECUTABLE_ENABLE_EXPORTS
CMAKE_EXE_LINKER_FLAGS
CMAKE_EXE_LINKER_FLAGS_<CONFIG>
CMAKE_EXE_LINKER_FLAGS_<CONFIG>_INIT
CMAKE_EXE_LINKER_FLAGS_INIT
CMAKE_EXPORT_FIND_PACKAGE_NAME
CMAKE_FOLDER
CMAKE_Fortran_FORMAT
CMAKE_Fortran_MODULE_DIRECTORY
CMAKE_Fortran_PREPROCESS
CMAKE_FRAMEWORK
CMAKE_FRAMEWORK_MULTI_CONFIG_POSTFIX_<CONFIG>
CMAKE_GHS_NO_SOURCE_GROUP_FILE
CMAKE_GLOBAL_AUTOGEN_TARGET
CMAKE_GLOBAL_AUTOGEN_TARGET_NAME
CMAKE_GLOBAL_AUTORCC_TARGET
CMAKE_GLOBAL_AUTORCC_TARGET_NAME
CMAKE_GNUtoMS
CMAKE_INCLUDE_CURRENT_DIR
CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE
CMAKE_INSTALL_NAME_DIR
CMAKE_INSTALL_REMOVE_ENVIRONMENT_RPATH
CMAKE_INSTALL_RPATH
CMAKE_INSTALL_RPATH_USE_LINK_PATH
CMAKE_INTERPROCEDURAL_OPTIMIZATION
CMAKE_INTERPROCEDURAL_OPTIMIZATION_<CONFIG>
CMAKE_<LANG>_CLANG_TIDY
CMAKE_<LANG>_CLANG_TIDY_EXPORT_FIXES_DIR
CMAKE_<LANG>_COMPILER_LAUNCHER
CMAKE_<LANG>_CPPCHECK
CMAKE_<LANG>_CPPLINT
CMAKE_<LANG>_INCLUDE_WHAT_YOU_USE
CMAKE_<LANG>_LINK_GROUP_USING_<FEATURE>
CMAKE_<LANG>_LINK_GROUP_USING_<FEATURE>_SUPPORTED
CMAKE_<LANG>_LINK_LIBRARY_FILE_FLAG
CMAKE_<LANG>_LINK_LIBRARY_FLAG
CMAKE_<LANG>_LINK_LIBRARY_USING_<FEATURE>
CMAKE_<LANG>_LINK_LIBRARY_USING_<FEATURE>_SUPPORTED
CMAKE_<LANG>_LINK_WHAT_YOU_USE_FLAG
CMAKE_<LANG>_LINKER_LAUNCHER
CMAKE_<LANG>_USING_LINKER_MODE
CMAKE_<LANG>_USING_LINKER_<TYPE>
CMAKE_<LANG>_VISIBILITY_PRESET
CMAKE_LIBRARY_OUTPUT_DIRECTORY
CMAKE_LIBRARY_OUTPUT_DIRECTORY_<CONFIG>
CMAKE_LIBRARY_PATH_FLAG
CMAKE_LINK_DEF_FILE_FLAG
CMAKE_LINK_DEPENDS_NO_SHARED
CMAKE_LINK_DEPENDS_USE_LINKER
CMAKE_LINK_GROUP_USING_<FEATURE>
CMAKE_LINK_GROUP_USING_<FEATURE>_SUPPORTED
CMAKE_LINK_INTERFACE_LIBRARIES
CMAKE_LINK_LIBRARY_FILE_FLAG
CMAKE_LINK_LIBRARY_FLAG
CMAKE_LINK_LIBRARY_USING_<FEATURE>
CMAKE_LINK_LIBRARY_USING_<FEATURE>_SUPPORTED
CMAKE_LINK_WHAT_YOU_USE
CMAKE_LINK_WHAT_YOU_USE_CHECK
CMAKE_LINKER_TYPE
CMAKE_MACOSX_BUNDLE
CMAKE_MACOSX_RPATH
CMAKE_MAP_IMPORTED_CONFIG_<CONFIG>
CMAKE_MODULE_LINKER_FLAGS
CMAKE_MODULE_LINKER_FLAGS_<CONFIG>
CMAKE_MODULE_LINKER_FLAGS_<CONFIG>_INIT
CMAKE_MODULE_LINKER_FLAGS_INIT
CMAKE_MSVC_DEBUG_INFORMATION_FORMAT
CMAKE_MSVC_RUNTIME_LIBRARY
CMAKE_MSVCIDE_RUN_PATH
CMAKE_NINJA_OUTPUT_PATH_PREFIX
CMAKE_NO_BUILTIN_CHRPATH
CMAKE_NO_SYSTEM_FROM_IMPORTED
CMAKE_OPTIMIZE_DEPENDENCIES
CMAKE_OSX_ARCHITECTURES
CMAKE_OSX_DEPLOYMENT_TARGET
CMAKE_OSX_SYSROOT
CMAKE_PCH_INSTANTIATE_TEMPLATES
CMAKE_PCH_WARN_INVALID
CMAKE_PDB_OUTPUT_DIRECTORY
CMAKE_PDB_OUTPUT_DIRECTORY_<CONFIG>
CMAKE_PLATFORM_NO_VERSIONED_SONAME
CMAKE_POSITION_INDEPENDENT_CODE
CMAKE_RUNTIME_OUTPUT_DIRECTORY
CMAKE_RUNTIME_OUTPUT_DIRECTORY_<CONFIG>
CMAKE_SHARED_LIBRARY_ENABLE_EXPORTS
CMAKE_SHARED_LINKER_FLAGS
CMAKE_SHARED_LINKER_FLAGS_<CONFIG>
CMAKE_SHARED_LINKER_FLAGS_<CONFIG>_INIT
CMAKE_SHARED_LINKER_FLAGS_INIT
CMAKE_SKIP_BUILD_RPATH
CMAKE_SKIP_INSTALL_RPATH
CMAKE_STATIC_LINKER_FLAGS
CMAKE_STATIC_LINKER_FLAGS_<CONFIG>
CMAKE_STATIC_LINKER_FLAGS_<CONFIG>_INIT
CMAKE_STATIC_LINKER_FLAGS_INIT
CMAKE_TASKING_TOOLSET
CMAKE_TRY_COMPILE_CONFIGURATION
CMAKE_TRY_COMPILE_NO_PLATFORM_VARIABLES
CMAKE_TRY_COMPILE_PLATFORM_VARIABLES
CMAKE_TRY_COMPILE_TARGET_TYPE
CMAKE_UNITY_BUILD
CMAKE_UNITY_BUILD_BATCH_SIZE
CMAKE_UNITY_BUILD_UNIQUE_ID
CMAKE_VERIFY_INTERFACE_HEADER_SETS
CMAKE_VISIBILITY_INLINES_HIDDEN
CMAKE_VS_DEBUGGER_COMMAND
CMAKE_VS_DEBUGGER_COMMAND_ARGUMENTS
CMAKE_VS_DEBUGGER_ENVIRONMENT
CMAKE_VS_DEBUGGER_WORKING_DIRECTORY
CMAKE_VS_GLOBALS
CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD
CMAKE_VS_INCLUDE_PACKAGE_TO_DEFAULT_BUILD
CMAKE_VS_JUST_MY_CODE_DEBUGGING
CMAKE_VS_NO_COMPILE_BATCHING
CMAKE_VS_SDK_EXCLUDE_DIRECTORIES
CMAKE_VS_SDK_EXECUTABLE_DIRECTORIES
CMAKE_VS_SDK_INCLUDE_DIRECTORIES
CMAKE_VS_SDK_LIBRARY_DIRECTORIES
CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES
CMAKE_VS_SDK_REFERENCE_DIRECTORIES
CMAKE_VS_SDK_SOURCE_DIRECTORIES
CMAKE_VS_WINRT_BY_DEFAULT
CMAKE_WATCOM_RUNTIME_LIBRARY
CMAKE_WIN32_EXECUTABLE
CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS
CMAKE_XCODE_ATTRIBUTE_<an-attribute>
EXECUTABLE_OUTPUT_PATH
LIBRARY_OUTPUT_PATH

# Expaned
CMAKE_<LANG>_CLANG_TIDY
	CMAKE_C_CLANG_TIDY
	CMAKE_CXX_CLANG_TIDY
CMAKE_<LANG>_COMPILER_LAUNCHER
	CMAKE_C_COMPILER_LAUNCHER
	CMAKE_CXX_COMPILER_LAUNCHER
	CMAKE_Fortran_COMPILER_LAUNCHER
	CMAKE_CUDA_COMPILER_LAUNCHER
CMAKE_<LANG>_CPPCHECK
	CMAKE_C_CPPCHECK
	CMAKE_CXX_CPPCHECK
CMAKE_<LANG>_CPPLINT
	CMAKE_C_CPPLINT
	CMAKE_CXX_CPPLINT
CMAKE_<LANG>_INCLUDE_WHAT_YOU_USE
	CMAKE_C_INCLUDE_WHAT_YOU_USE
	CMAKE_CXX_INCLUDE_WHAT_YOU_USE
endblock()

block() # Variables for Languages
CMAKE_C_COMPILE_FEATURES
CMAKE_C_EXTENSIONS
CMAKE_C_STANDARD
CMAKE_C_STANDARD_REQUIRED
CMAKE_CUDA_ARCHITECTURES
CMAKE_CUDA_COMPILE_FEATURES
CMAKE_CUDA_EXTENSIONS
CMAKE_CUDA_HOST_COMPILER
CMAKE_CUDA_STANDARD
CMAKE_CUDA_STANDARD_REQUIRED
CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES
CMAKE_CXX_COMPILE_FEATURES
CMAKE_CXX_EXTENSIONS
CMAKE_CXX_STANDARD
CMAKE_CXX_STANDARD_REQUIRED
CMAKE_Fortran_MODDIR_DEFAULT
CMAKE_Fortran_MODDIR_FLAG
CMAKE_Fortran_MODOUT_FLAG
CMAKE_HIP_ARCHITECTURES
CMAKE_HIP_EXTENSIONS
CMAKE_HIP_PLATFORM
CMAKE_HIP_STANDARD
CMAKE_HIP_STANDARD_REQUIRED
CMAKE_ISPC_HEADER_DIRECTORY
CMAKE_ISPC_HEADER_SUFFIX
CMAKE_ISPC_INSTRUCTION_SETS
CMAKE_<LANG>_ANDROID_TOOLCHAIN_MACHINE
CMAKE_<LANG>_ANDROID_TOOLCHAIN_PREFIX
CMAKE_<LANG>_ANDROID_TOOLCHAIN_SUFFIX
CMAKE_<LANG>_ARCHIVE_APPEND
CMAKE_<LANG>_ARCHIVE_CREATE
CMAKE_<LANG>_ARCHIVE_FINISH
CMAKE_<LANG>_BYTE_ORDER
CMAKE_<LANG>_COMPILE_OBJECT
CMAKE_<LANG>_COMPILER
CMAKE_<LANG>_COMPILER_EXTERNAL_TOOLCHAIN
CMAKE_<LANG>_COMPILER_ID
CMAKE_<LANG>_COMPILER_LOADED
CMAKE_<LANG>_COMPILER_PREDEFINES_COMMAND
CMAKE_<LANG>_COMPILER_TARGET
CMAKE_<LANG>_COMPILER_VERSION
CMAKE_<LANG>_CREATE_SHARED_LIBRARY
CMAKE_<LANG>_CREATE_SHARED_MODULE
CMAKE_<LANG>_CREATE_STATIC_LIBRARY
CMAKE_<LANG>_EXTENSIONS
CMAKE_<LANG>_EXTENSIONS_DEFAULT
CMAKE_<LANG>_FLAGS
CMAKE_<LANG>_FLAGS_<CONFIG>
CMAKE_<LANG>_FLAGS_<CONFIG>_INIT
CMAKE_<LANG>_FLAGS_DEBUG
CMAKE_<LANG>_FLAGS_DEBUG_INIT
CMAKE_<LANG>_FLAGS_INIT
CMAKE_<LANG>_FLAGS_MINSIZEREL
CMAKE_<LANG>_FLAGS_MINSIZEREL_INIT
CMAKE_<LANG>_FLAGS_RELEASE
CMAKE_<LANG>_FLAGS_RELEASE_INIT
CMAKE_<LANG>_FLAGS_RELWITHDEBINFO
CMAKE_<LANG>_FLAGS_RELWITHDEBINFO_INIT
CMAKE_<LANG>_HOST_COMPILER
CMAKE_<LANG>_IGNORE_EXTENSIONS
CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES
CMAKE_<LANG>_IMPLICIT_LINK_DIRECTORIES
CMAKE_<LANG>_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES
CMAKE_<LANG>_IMPLICIT_LINK_LIBRARIES
CMAKE_<LANG>_LIBRARY_ARCHITECTURE
CMAKE_<LANG>_LINK_EXECUTABLE
CMAKE_<LANG>_LINKER_WRAPPER_FLAG
CMAKE_<LANG>_LINKER_WRAPPER_FLAG_SEP
CMAKE_<LANG>_OUTPUT_EXTENSION
CMAKE_<LANG>_SIMULATE_ID
CMAKE_<LANG>_SIMULATE_VERSION
CMAKE_<LANG>_SIZEOF_DATA_PTR
CMAKE_<LANG>_SOURCE_FILE_EXTENSIONS
CMAKE_<LANG>_STANDARD
CMAKE_<LANG>_STANDARD_DEFAULT
CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES
CMAKE_<LANG>_STANDARD_LIBRARIES
CMAKE_<LANG>_STANDARD_REQUIRED
CMAKE_OBJC_EXTENSIONS
CMAKE_OBJC_STANDARD
CMAKE_OBJC_STANDARD_REQUIRED
CMAKE_OBJCXX_EXTENSIONS
CMAKE_OBJCXX_STANDARD
CMAKE_OBJCXX_STANDARD_REQUIRED
CMAKE_Swift_LANGUAGE_VERSION
CMAKE_USER_MAKE_RULES_OVERRIDE_<LANG>

# Expaned
CMAKE_<LANG>_FLAGS
	CMAKE_C_FLAGS
	CMAKE_CXX_FLAGS
	CMAKE_CUDA_FLAGS
	CMAKE_Fortran_FLAGS
CMAKE_<LANG>_SIZEOF_DATA_PTR
	CMAKE_C_SIZEOF_DATA_PTR
	CMAKE_CXX_SIZEOF_DATA_PTR
endblock()

block() # Variables for CTest
CTEST_BINARY_DIRECTORY
CTEST_BUILD_COMMAND
CTEST_BUILD_NAME
CTEST_BZR_COMMAND
CTEST_BZR_UPDATE_OPTIONS
CTEST_CHANGE_ID
CTEST_CHECKOUT_COMMAND
CTEST_CONFIGURATION_TYPE
CTEST_CONFIGURE_COMMAND
CTEST_COVERAGE_COMMAND
CTEST_COVERAGE_EXTRA_FLAGS
CTEST_CURL_OPTIONS
CTEST_CUSTOM_COVERAGE_EXCLUDE
CTEST_CUSTOM_ERROR_EXCEPTION
CTEST_CUSTOM_ERROR_MATCH
CTEST_CUSTOM_ERROR_POST_CONTEXT
CTEST_CUSTOM_ERROR_PRE_CONTEXT
CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE
CTEST_CUSTOM_MAXIMUM_NUMBER_OF_ERRORS
CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS
CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE
CTEST_CUSTOM_MEMCHECK_IGNORE
CTEST_CUSTOM_POST_MEMCHECK
CTEST_CUSTOM_POST_TEST
CTEST_CUSTOM_PRE_MEMCHECK
CTEST_CUSTOM_PRE_TEST
CTEST_CUSTOM_TEST_OUTPUT_TRUNCATION
CTEST_CUSTOM_TESTS_IGNORE
CTEST_CUSTOM_WARNING_EXCEPTION
CTEST_CUSTOM_WARNING_MATCH
CTEST_CVS_COMMAND
CTEST_CVS_UPDATE_OPTIONS
CTEST_DROP_LOCATION
CTEST_DROP_METHOD
CTEST_DROP_SITE
CTEST_DROP_SITE_CDASH
CTEST_DROP_SITE_PASSWORD
CTEST_DROP_SITE_USER
CTEST_EXTRA_COVERAGE_GLOB
CTEST_GIT_COMMAND
CTEST_GIT_INIT_SUBMODULES
CTEST_GIT_UPDATE_CUSTOM
CTEST_GIT_UPDATE_OPTIONS
CTEST_HG_COMMAND
CTEST_HG_UPDATE_OPTIONS
CTEST_LABELS_FOR_SUBPROJECTS
CTEST_MEMORYCHECK_COMMAND
CTEST_MEMORYCHECK_COMMAND_OPTIONS
CTEST_MEMORYCHECK_SANITIZER_OPTIONS
CTEST_MEMORYCHECK_SUPPRESSIONS_FILE
CTEST_MEMORYCHECK_TYPE
CTEST_NIGHTLY_START_TIME
CTEST_P4_CLIENT
CTEST_P4_COMMAND
CTEST_P4_OPTIONS
CTEST_P4_UPDATE_OPTIONS
CTEST_RESOURCE_SPEC_FILE
CTEST_RUN_CURRENT_SCRIPT
CTEST_SCRIPT_DIRECTORY
CTEST_SITE
CTEST_SOURCE_DIRECTORY
CTEST_SUBMIT_INACTIVITY_TIMEOUT
CTEST_SUBMIT_URL
CTEST_SVN_COMMAND
CTEST_SVN_OPTIONS
CTEST_SVN_UPDATE_OPTIONS
CTEST_TEST_LOAD
CTEST_TEST_TIMEOUT
CTEST_UPDATE_COMMAND
CTEST_UPDATE_OPTIONS
CTEST_UPDATE_VERSION_ONLY
CTEST_UPDATE_VERSION_OVERRIDE
CTEST_USE_LAUNCHERS
endblock()

block() # Variables for CPack
CPACK_ABSOLUTE_DESTINATION_FILES
CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY
CPACK_CUSTOM_INSTALL_VARIABLES
CPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION
CPACK_INCLUDE_TOPLEVEL_DIRECTORY
CPACK_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS
CPACK_PACKAGING_INSTALL_PREFIX
CPACK_SET_DESTDIR
CPACK_WARN_ON_ABSOLUTE_INSTALL_DESTINATION
endblock()

# Variables specific to cpack generators
# https://cmake.org/cmake/help/latest/manual/cpack-generators.7.html

# Variable Expansion Operators
CACHE
ENV

block() # Internal Variables
CMAKE_HOME_DIRECTORY
CMAKE_INTERNAL_PLATFORM_ABI
CMAKE_<LANG>_COMPILER_ABI
CMAKE_<LANG>_COMPILER_ARCHITECTURE_ID
CMAKE_<LANG>_COMPILER_VERSION_INTERNAL
CMAKE_<LANG>_LINKER_PREFERENCE
CMAKE_<LANG>_LINKER_PREFERENCE_PROPAGATES
CMAKE_<LANG>_PLATFORM_ID
CMAKE_NOT_USING_CONFIG_FLAGS
CMAKE_VS_INTEL_Fortran_PROJECT_VERSION
endblock()

block() # Environment Variables
# https://cmake.org/cmake/help/latest/manual/cmake-env-variables.7.html
# Environment Variables that Change Behavior
CMAKE_APPBUNDLE_PATH
CMAKE_FRAMEWORK_PATH
CMAKE_INCLUDE_PATH
CMAKE_LIBRARY_PATH
CMAKE_MAXIMUM_RECURSION_DEPTH
CMAKE_PREFIX_PATH
CMAKE_PROGRAM_PATH
SSL_CERT_DIR
SSL_CERT_FILE
# Environment Variables that Control the Build
ADSP_ROOT
CMAKE_APPLE_SILICON_PROCESSOR
CMAKE_BUILD_PARALLEL_LEVEL
CMAKE_BUILD_TYPE
CMAKE_COLOR_DIAGNOSTICS
CMAKE_CONFIGURATION_TYPES
CMAKE_CONFIG_TYPE
CMAKE_CROSSCOMPILING_EMULATOR
CMAKE_EXPORT_COMPILE_COMMANDS
CMAKE_GENERATOR
CMAKE_GENERATOR_INSTANCE
CMAKE_GENERATOR_PLATFORM
CMAKE_GENERATOR_TOOLSET
CMAKE_INSTALL_MODE
CMAKE_INSTALL_PREFIX
CMAKE_<LANG>_COMPILER_LAUNCHER
CMAKE_<LANG>_IMPLICIT_LINK_DIRECTORIES_EXCLUDE
CMAKE_<LANG>_LINKER_LAUNCHER
CMAKE_MSVCIDE_RUN_PATH
CMAKE_NO_VERBOSE
CMAKE_OSX_ARCHITECTURES
CMAKE_TEST_LAUNCHER
CMAKE_TOOLCHAIN_FILE
DESTDIR
LDFLAGS
MACOSX_DEPLOYMENT_TARGET
<PackageName>_ROOT
VERBOSE

# Environment Variables for Languages
ASM<DIALECT>
	ASM
	ASM_NASM
	ASM_MASM
	ASM-ATT
ASM<DIALECT>FLAGS
	ASMFLAGS
	ASM_NASMFLAGS
	ASM_MASMFLAGS
	ASM-ATTFLAGS
CC
CFLAGS
CSFLAGS
CUDAARCHS
CUDACXX
CUDAFLAGS
CUDAHOSTCXX
CXX
CXXFLAGS
FC
FFLAGS
HIPCXX
HIPFLAGS
HIPHOSTCXX
ISPC
ISPCFLAGS
OBJC
OBJCXX
RC
RCFLAGS
SWIFTC

# Environment Variables for CTest
CMAKE_CONFIG_TYPE
CTEST_INTERACTIVE_DEBUG_MODE
CTEST_NO_TESTS_ACTION
CTEST_OUTPUT_ON_FAILURE
CTEST_PARALLEL_LEVEL
CTEST_PROGRESS_OUTPUT
CTEST_USE_LAUNCHERS_DEFAULT
DASHBOARD_TEST_FROM_CTEST

# Environment Variables for the CMake curses interface
CCMAKE_COLORS
endblock()
endblock()

#! Values			===========================================================
# Build variant
Debug MinSizeRel Release RelWithDebInfo
# if()
ON YES TRUE OFF NO FALSE IGNORE NOTFOUND
# NEWLINE_STYLE for configure_file()
UNIX DOS WIN32 LF CRLF
# ENCODING for execute_process()
NONE AUTO ANSI OEM UTF8 UTF-8
# ENCODING for file()
UTF-16LE UTF-16BE UTF-32LE UTF-32BE
# PERMISSIONS for install()
OWNER_READ OWNER_WRITE OWNER_EXECUTE
GROUP_READ GROUP_WRITE GROUP_EXECUTE
WORLD_READ WORLD_WRITE WORLD_EXECUTE
SETUID SETGID
# TYPE for install()
BIN SBIN LIB INCLUDE SYSCONF SHAREDSTATE LOCALSTATE RUNSTATE DATA INFO LOCALE MAN DOC
# PARTS for ctest_submit()
Start Update Configure Build Test Coverage MemCheck Notes ExtraFiles Upload Submit Done
